
/**
 * AppleIIGo
 * Disk Drive class
 * (C) 2008 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#ifndef DISKDRIVE_H
#define DISKDRIVE_H

#include "types.h"

typedef enum {
	DISKDRIVETYPE_5_25,
	DISKDRIVETYPE_3_5,
	DISKDRIVETYPE_HDD,
	DISKDRIVETYPE_END,
};

typedef enum {
	DISKDRIVEPORT_DISKPORT,
	DISKDRIVEPORT_SMARTPORT,
	DISKDRIVEPORT_SCSIPORT,
	DISKDRIVEPORT_END,
};

class DiskDrive {
public:
	DiskDrive();
	virtual ~DiskDrive();
	
	UINT32 getType();
	UINT32 getPort();
	
	virtual bool mount(char * diskImagePath);
	virtual void unmount();
	virtual char * getDiskImagePath();
	
protected:
	UINT32 diskDriveType;
	UINT32 diskDrivePort;
};

#endif
